package org.s3.project.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.s3.project.entity.Dish;
import org.s3.project.entity.User;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author cfx
 * @version 1.0
 * @Description
 * @date 2025/2/9 9:55
 */
@Service
public interface DishService extends IService<Dish> {
    //查询展示
    List<Dish> getDishSelect();
    // 查询商家所有菜品
    List<Dish> selectAllByBusinessId(Integer businessId);

    //只显示评分最高的三个菜品
    List<Dish> getDishSelectByInventory();

    //修改
    int updateDish(Dish dish);
    //新增
    int insertDish(Dish dish);
    //查询详情
    Dish getDishId(int id);
    //通过商家id查询菜品
    List<Dish>selectDishByMerchant(int id);
    /**
     * 根据商家id查询菜品(与刘家辉的略有不同)
     * @param id 商家id
     * @return 菜品列表
     */
    List<Dish> selectDishByMerchants(@Param("id") Integer id,@Param("Dname")String Dname,@Param("create_time")String create_time, @Param("create_timeOne")String create_timeOne,@Param("status")Integer status);
    /**
     * 修改菜品状态
     * @param dish 菜品对象
     * @return 修改结果
     */
    int updateDishStatus(Dish dish);

    /**
     * 批量修改菜品状态
     * @param ids 菜品id数组
     * @param dish 菜品对象
     * @return 修改结果
     */
    int updateDishStatusIds(@Param("ids")int[] ids,Dish dish);

    /**
     * 分页查询菜品信息
     * @param Dname 菜品名称
     * @param Mname 商家名称
     * @param create_time 创建时间
     * @param create_timeOne 创建时间
     * @return
     */
    List<Dish> selectDishByMerchantChecks(String Dname, String Mname, String create_time, String create_timeOne);
    //通过菜品id查询商家
    List<Dish> selectBusinessId(int id,int category_id);

    //查询分类
    List<Dish> getDishByCategoryId(int id);
    //模糊查询菜品
    List<Dish> getDishByDishName(String name);
}
